<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="../../../vue.js"></script>
  </head>

  <body>
    <!-- 
      v-for的基础使用
        * 基于源数据多次渲染元素或模板块。此指令之值，必须使用特定语法 `item,index in data` 或者 `item,index of data`
        * item和index都是属于当前列表块内部的数据,在列表块内部可以直接使用
        * item是每次遍历出来的值,index是当前值的下标
        * v-for一定要在列表渲染的元素上添加key属性,用户优化diff算法(如果没有key则新旧DOM默认按照顺序比较,一旦有破坏顺序的操作,则为增加额外的开销),并且不建议key使用index下标(因为按下标来的话,其实还是按照顺序比较的)
        * 类似于 v-if，你也可以利用带有 v-for 的 <template> 来循环渲染一段包含多个元素的内容。
        * v-for可以遍历数组,对象,字符串,数字等等数据格式
     -->  
    <div id="app">
      <ul>
        <li v-for="item,index in teachers" :key="item.id">
          <h2>我的名字是{{item.name}},下标是{{index}}</h2>
          <p>我的爱好是{{item.hobby}}</p>
        </li>
      </ul>
    </div>
    <script>
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#app",
        data() {
          return {
            teachers: [
              { id: 1, name: "余维海", hobby: "金城会所" },
              { id: 2, name: "陈伟", hobby: "888号为您服务" },
              { id: 3, name: "老李", hobby: "学习讲课" },
            ],
          };
        },
      });
    </script>
  </body>
</html>
